<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .a{
            background-color: greenyellow;
        }
    </style>
</head>
<body>
    <div id="app">
        <com>{{msg}}</com>
    </div>
    <script src="../vue.js"></script>
    <script>
        let com={
            render:function(createElement){
                /*
                    createElement():可简写为h
                    第一个参数：'div' {String|Object|Function}
                    第二个参数：这里可以设置对象的各种属性  {Object}
                    第三个参数：是节点的文本也可以创建子节点  {Array|String}
                */
                                   //需要的标签    属性     内容
                // return createElement('button',{class:'a'},'按钮');//只能是一个根元素
                return createElement('button',{class:'a'},this.$slots.default);
            }
        }
        new Vue({
            el:'#app',
            components:{
                com,
            },
            data () {
                return {
                    msg:1,
                }
            }
        })

        function fn(a,b,c){
            /*
                a:String
                b:Object
                c:String
            */
            console.log(a);
            if(typeof b!='object'&&typeof b=='string'){
                c=b;
                b='';
            }
            console.log(b);
            console.log(c);
            // if(typeof b=='object'){
            //     console.log(b);
            // }
            // else{
            //     console.log('类型错误');
            //     c=b;
            //     console.log(typeof c);
            //     if(typeof c=='string')
            //         console.log(c);
            // }
        }
        fn('1','hello');

    </script>
</body>
</html>